﻿namespace EditorialProyectos.DataAccess.Repositories
{
    public class RepositoryFactory
    {
        private static AuditLogRepository _auditLogRepository;
        private static ProjectRepository _projectRepository;
        private static BenefitRepository _benefitRepository;
        private static CommentRepository _commentRepository;
        private static InvestmentRepository _investmentRepository;
        private static VoteRepository _voteRepository;
        private static CategoryRepository _categoryRepository;

        public static AuditLogRepository AuditLogRepository { get { return _auditLogRepository ?? (_auditLogRepository = new AuditLogRepository()); } }
        public static ProjectRepository ProjectRepository { get { return _projectRepository ?? (_projectRepository = new ProjectRepository()); } }
        public static BenefitRepository BenefitRepository { get { return _benefitRepository ?? (_benefitRepository = new BenefitRepository()); } }
        public static CommentRepository CommentRepository { get { return _commentRepository ?? (_commentRepository = new CommentRepository()); } }
        public static InvestmentRepository InvestmentRepository { get { return _investmentRepository ?? (_investmentRepository = new InvestmentRepository()); } }
        public static VoteRepository VoteRepository { get { return _voteRepository ?? (_voteRepository = new VoteRepository()); } }
        public static CategoryRepository CategoryRepository { get { return _categoryRepository ?? (_categoryRepository = new CategoryRepository()); } }
    }
}
